home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 April / EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso / EARCD / util / misc / Ital25a.lha / Ital25a / Arexx / Rocco_Colluccelli / Traduci.rexx < prev    next >
OS/2 REXX Batch file  |  1996-02-15  |  3KB  |  121 lines

  1. /*
  2.  * Traduci
  3.  *
  4.  * USAGE: files_ita = 'ital/Traduci'(tags,files_eng...)
  5.  *
  6.  * REQUIREMENTS:
  7.  *  rexxreqtools.library
  8.  *    REXX:db/RunHost
  9.  *    REXX:ital/Guide2Ital
  10.  *    Ital 2.0 (Arturo Ortino)
  11.  *
  12.  * Traduci e` il modulo di interfacciamento con Ital 2.0 di Arturo Ortino.
  13.  *
  14.  * $(C): (1995, Rocco Coluccelli, Bologna)
  15.  * $VER: Traduci 1.01 (01.Jun.1995)
  16.  */
  17.  
  18. SIGNAL ON halt
  19. SIGNAL ON break_c
  20.  
  21. /*
  22.  *    Carico la libreria per i requester
  23.  */
  24. lib = 'rexxreqtools.library'
  25. IF ~SHOW('l',lib) THEN CALL ADDLIB(lib,0,-30)
  26.  
  27. /*
  28.  *    TAGS:
  29.  *        'opt.PUBSCR=' public screen name
  30.  *    METHODS:
  31.  *        'ABOUT' mostra informazioni inerenti Ital e questo script
  32.  *        'CLEAR' ripristina le condizioni normali di funzionamento
  33.  *        'DELETE' cancella il file originale al termine della traduzione
  34.  *        'GUIDE' supporto per la traduzione delle guide
  35.  *        'PUBSCREEN' cerca di aprire Ital sullo schermo opt.PUBSCR
  36.  *        'QUIT' chiude Ital
  37.  */
  38. INTERPRET ARG(1)
  39.  
  40.  
  41. /*
  42.  *    Se Ital non e` in esecuzione, lanciamolo...
  43.  */
  44. args = ''
  45. IF POS('PUB',opt.METHODS) > 0 THEN args = 'SCREEN=' || opt.PUBSCR
  46.  
  47. IF POS('ABOUT',opt.METHODS) > 0 THEN CALL Message(1)
  48.  
  49. IF ~'db/RunHost'('ITAL','opt.PUBSCR="'opt.PUBSCR'"',args) THEN CALL Message(2)
  50. ADDRESS 'ITAL'
  51.  
  52. IF POS('CLEAR',opt.METHODS) > 0 THEN 'CLEAR'
  53.  
  54.  
  55. /*
  56.  *    Traduciamo i file passati alla funzione
  57.  */
  58. del = (POS('DEL',opt.METHODS) > 0)
  59. hyp = (POS('GUIDE',opt.METHODS) > 0)
  60. ret = ''
  61. DO i = 2 TO ARG()
  62.     IF ret ~= '' THEN ret = ret','
  63.  
  64.     /*
  65.      *    Cancelliamo un eventuale vecchio file tradotto in precedenza
  66.      */
  67.     file = ARG(i)
  68.     ADDRESS COMMAND 'Delete >NIL:' file'.TRA FORCE'
  69.  
  70.     /*
  71.      *    Diciamo a Ital di tradurre il file passato come argomento
  72.      */
  73.     tmp = file
  74.     IF hyp THEN
  75.         tmp = 'ital/Guide2Ital'(file,file'.txt',file'.hyp')
  76.  
  77.     ''tmp''
  78.  
  79.     IF ~EXISTS(tmp'.TRA') THEN ITERATE
  80.  
  81.     IF hyp THEN
  82.         tmp = 'ital/Guide2Ital'(tmp,tmp'.TRA',file'.hyp','opt.METHODS=TOGUIDE')
  83.     ELSE tmp = tmp'.TRA'
  84.  
  85.     ret = ret || tmp
  86.  
  87.     IF del THEN ADDRESS COMMAND 'Delete >NIL:' file
  88. END
  89.  
  90. IF POS('QUIT',opt.METHODS) > 0 THEN 'QUIT'
  91.  
  92. EXIT ret
  93.  
  94.  
  95. Message: PROCEDURE EXPOSE opt.
  96. ARG n
  97.  
  98.     str.0 = 'Traduci'
  99.     str.1 = 'ITAL © 1992-1995 di Arturo Ortino' || '0a0a'x,
  100.          'ITAL è un programma sperimentale di traduzione' || '0a'x,
  101.          'automatica dall''Inglese all''Italiano.' || '0a0a'x,
  102.          'L''autore si riserva tutti i diritti di Copyright' || '0a'x,
  103.          'sul programma, files relativi, codice e vocabolario.' || '0a0a0a'x,
  104.          'Traduci() v1.00 © 1995 di Rocco Coluccelli'
  105.     str.2 = 'Non riesco a trovare la porta ARexx di ITAL.' || '0a'x,
  106.         'Sei sicuro di aver lanciato il programma correttamente?' || '0a'x,
  107.         'Per favore, controlla le preferenze del programma,' || '0a'x,
  108.         'occorre specificare che si desidera usare la porta ARexx.'
  109.  
  110.     /*
  111.      *    Tags per requester reqtools
  112.      */
  113.     rt.PUBSCR = 'rt_pubscrname=' || opt.PUBSCR
  114.     rt.CENTRE = 'rtez_flags=ezreqf_centertext'
  115.     CALL rtezRequest(str.n,,str.0,rt.PUBSCR rt.CENTRE)
  116.     IF n = 1 THEN RETURN
  117.  
  118. halt:
  119. break_c:
  120.     EXIT ''
  121.